UNIX MAGAZINE 1992年8月号

キーフレーズ

UNIX MAGAZINE ファイル システム ネットワーク SPARC 000 コマンド 1992 クライアント プログラム 入力 Sun wazuka 機能 Open ソフトウェア インターフェイス ウインドウ Boot NEWS ihave シリーズ アプリケーション SPARCstation PostScript ワークステーション 使用 データ 環境 Message 文字列 できる サポート 実行 場合 必要 Forth 対応 可能 利用 exit ファイル名 表示 () sendme 開発 Tel フォント デバイス 設定 指定 CPU Macintosh Ethernet -3 NFS メソッド 処理 SunOS tex 関数 出力 メッセージ ユーザー ハードウェア オプション station int ニュースグループ 接続 プロトコル ツール FAX 標準 SCSI Subject 作成 TCP/IP INTEROP コントロール シグナル nadia 日本 kinput2 使っ 登録商標 NeXT リスト LAN aya 米国 NEWSCTL サーバー 提供 スタイル usr 文字

目次

連載 / てくてく rIbX 32 持されていますから、数式番号を出力するコマンドは \theequation ということになります。 標準の article スタイルでの \theequation コマ ンドの定義は、次のようになっています。 \def\theequation{\arabic{equation}} 節番号を出力するコマンド \thesection を使って、 次のように \theequation コマンドを定義すれば、数 式番号に節番号も出力できます。 \def\theequation {\thesection. \arabic{equation}} でも、これだけだと equation カウンタの値は節番 号に関係なく 1 つずっ増えてしまいます。ですから、節 ごとに equation カウンタがリセットされるようにし なければなりません。 、、あるカウンタの値が増えると、別のカウンタがリセ ットされる " という状況は、以前にも出てきました。そ う、新しいカウンタを作成する \newcounter コマン ドを紹介したときです。 \nevcounter コマンドにオプ ション引数を指定すると、そのカウンタを親カウンタと して設定できるのでしたね。ところが、この場合はすで にカウンタが存在しているので、 \newcounter コマン ドは使用できません。 そんなときには、 latex. tex ファイルを覗き、 \new- c 。 te てコマンドの定義を見てみましよう。すると、カ ウンタの親子関係を設定するには、 \@addtoreset とい うコマンドを使えばよいということが分かります。 \@addtoreset コマンドは、次のように指定します。 \@addtoreset{child}{parent} こうしておけば、 2 佖れ t カウンタが増えたとき、同 時に c んカウンタの値もリセットされるようになりま す。 ただし、このコマンドは @( アットマーク ) を含む I ÉX の内部コマンドであることに注意してください。 つまり、このコマンドはスタイルファイルのなかでしか 使用できません。次のような内容のスタイルファイル を作成し、そのファイル名を入力ファイルの \docu- UNIX MAGAZINE 1992.8 mentstyle コマンドのオプション引数に指定するよう にしてください。 \@addtoreset{equation}{section} \def\theequation {\thesection. \arabic{equation}} 次のように、 \makeatletter と \makeatother コ マンドを使って入力ファイルのなかで設定することもで きますが、なるべくならスタイルファイルにしておくは うがよいでしよう。 \makeatletter \@addtoreset{equation}{section} \def\theequation {\thesection. \arabic{equation}} \makeatother \ secti 。 n { 最初のセクション } 数式番号のなかに、節番号が含まれるように なります。 \begin{equation} Z = X 十 y \end{equation} 1. 最初のセクション 数式番号のなかに、節番号が含まれるようになりま す。 2 = 十リ 2. ふたつめのセクション ( 1 ・ 1 ) 節が変わると、 equation カウンタがリセットされる ようになっています。 2 ( 2 ・ 1 ) Q6 : いのマニュアルのように、ヘッダ部分に下 線を引きたいのですか、どうすればよいでしようか ? A : の標準のスタイルファイルでは、 empty 、 plain 、 headings 、 myheadings という 4 つのページ スタイルが用意されています。しかし、これらのページ スタイルだけでは不十分ですし、 INIV;X のマニュアルで 使用しているべージスタイルがこのなかに含まれていな いのは、ちょっと不思議な気もします。 145

連載 / てくてく 32 や supertabular. sty など、表の途中で改ページがで きるマクロがいくつかあります。 こでは、 TabuIa て . sty を紹介しましよう。スタイ ルオプションとして Tabu1ar を指定すると、 Tabu1ar 環境が使えるようになります。この環境の使い方は簡単 で、 tabular 環境と同しです。ただし、べースラインを 指定するオプション引数はなく、かならす環境の前で改 行され、表全体をセンタリングして出力するようになっ \end{TabuIar} \begin{Tabu1ar}{ ... } たとえば、 ています。 とすると、次のように指定したのと同し意味になりま \end{center} \end{tabular} \begin{tabular}{ ・ .. } \begin{center} す。 144 段組も自由に組み合わせて使用することができます。 かから生まれた便利なスタイルファイルで、 2 段組も 3 れています。 multicol ・ sty は、この new い kX のな 進められている new には、この機能力繖り込ま ドイツの Frank MitteIbach 氏を中心に作成作業が と思う人は多いでしよう。 しかし、ページの途中でも 2 段抜きができないものか 列は新しいページの先頭に 2 段抜きで組版されます。 はオプション引数が 1 つあって、そこに指定された文字 で始めるコマンドです。この \twocolumn コマンドに が指定された箇所で改ページし、新しいページを 2 段組 A : いの \ t ocolum Ⅱコマンドは、このコマンド にすることはできませんか ? Q4 : 2 段組の文書を書くとき、見出しだけを 2 段抜き てください。 Tabu1ar. sty を WEnet から手に入れて、試してみ multicol. sty ファイルを WEnet などから手に入 れ、スタイルオプションとして指定してください。これ で multicols 環境が使用できるようになります。 mul- ticols 環境の引数には、何段に分割するかを指定し ます。 \begin{mu1tic01s}{2} ページの先頭が 2 段組になっている場合でも、 ページの途中で 1 段にすることがてきます。 \end{multicols} こからは、 1 段組になっています。 \begin{mu1tic01sH3} [\section{3 段抜き } ] また、オプション引数を利用すれば、 2 段抜き、あるいは 3 段抜きのタイトルなど が出力できます。 \end{multicols} ページの先頭が 2 段 組になっている場合で も、ページの途中で 1 段 にすることができます。 こからは、 1 段組になっています。 1 3 段抜き また、オプ ション引数を利 用すれは、 2 段 抜き、あるいはカできます。 3 段抜きのタイ トルなどが出 multicol . sty には、カラム間のスペースやそこに 線を引いたりするためのパラメータも用意されていま す。 multicol. sty の使用方法については、 multi- col. doc というファイルに詳しく説明されています。 おもしろいことに、 mult i C01. t ex ファイルに対して IMbX を実行すると、 multicol. doc のコメント部分 がドキュメントとして出力されるようになっています。 Q5 : article ドキュメントスタイルを使っています が、数式番号に節番号を組み入れるにはどうしたらよい のでしようか ? A : article スタイルで equation 環境を使うと、 ( 1 ) 、②、 . という数式番号が出力されます。これを 変更して、第 1 節では ( 1.1 ) 、 ( 1 ・ 2 ) 、 、第 2 節で は ( 2.1 ) 、 ( 2.2 ) 、 ... のように出力するようにしたいの ですね ? 数式番号は、 equation という名則のカウンタに保 UNIX MAGAZINE 1992.8

連載 / てくてく rIbX 32 むファイルの内容の前後に改ページか挿入されたのと同 し処理をします。つまり、 \include{filename} は、次 の指定と同し意味になります。 \clearpage\input{filename}\clearpage \include は、 \includeonly というコマンドと一緒 に使うと、とても便利なのです。たとえは、メインの入 カファイルを次のようにします。 \include{titlepage} % \begin{document} \documentstyle{jbook} \include{toc} \include{preface} \include{chapl} \inc1ude{chap2} \include{index} \include{post} \end{document} タイトルページ % 目次、表目次、図目次 % はじめに % 概要 % 起動と終了 % 索引 % 奥付 まず、このまま I を実行してみてください。そ の後、カレントディレクトリを見てみると、 \ include コマンドに指定した入力ファイルごとに aux ファイルが 作成されていることが分かります。それ以外は、 \input コマンドを使用したときと同しです。 次にプリアンプル部分、つまり \begin{document} の前に次のような 1 行を加えます。 \documentstyle{jbook} \includeonly{chapl} \begin{document} \include{titlepage} \include{toc} \include{preface} \include{chapl} \inc1ude{chap2} % タイトルページ % 目次、表目次、図目次 % はじめに % 概要 % 起動と終了 この行を加える こでもう 1 度を実行すると、 chapl ・ tex フ ァイルだけか読み込まれるようになります。これじゃ、 \ i Ⅱ put コマンドを使って第 2 章以降をコメントアウト したのと同しだって ? それでは、第 4 章 (chap4 ・ tex) と第 7 章 (chap7. tex) だけを読み込むようにしてみま しよう。 \includeonly コマンドに 2 つ以上のファイ UNIX MAGAZINE 1992.8 ルを指定するときには、引数にファイル名を , ( カンマ ) で区切って列挙します。あいだに空白文字を挿入しない ように注意してくださいね。 \inc1udeon1y{chap4 , chap7} これでいを実行して出力を見ると、ちゃんと章 番号が 4 と 7 になっているはすです。 \include コマンドを使うと、 \includeonly に指 定されたファイルの内容だけか読み込まれるのですが、 \begin{document} や \end{document} コマンドでは すべての aux ファイルを読み込みます。 aux ファイル には相互参照などの情報か書き込まれていますし、章番 号、ページ番号などのカウンタの値がそのファイルを読 み込んだときと同し状態になるようにしています。だか ら、 I EX で処理するファイルは一部だけでも、相互参 照、目次、カウンタの値などは、全体に対して I を 実行したのと同じ結果になるのです。 Q3 : 作成している文書のなかに、大きな表が出てきま す。 tabular 環境の途中で改ページをすることはでき ないのでしようか ? A : tabular 環境では、 1 つの環境全体で 1 つのポッ クスを形成しているので、 tabul 矼環境で表を作成する と、表の途中での改ページができません。したがって、 複数ベージにわたる大きな表を作成するときには、みん な苦労しているのです。 罫線のない表を作成するときには、 tabbing 環境を 利用したり、 description 環境をすこし改良して、表 のような出力にすることもできます。 tabbing 環境に ついては Lamport 氏の本 1 を読んでください。また、 description 環境の応用例は、前回 ( 本誌 1992 年 3 月号 ) の説明を参考にしてください。 でも、どうしても表の罫線が必要な場合には、ページ の収まり具合を調べながら、いくつかの tabular 環境 に分割していかなければなりません。ただ、世界中に同 様な悩みを抱えた人たちがいるようで、 Tabu1ar ・ sty 1 Leslie Lamport, "The I*TEX Document Preparation System ” , Addison-WesIey, 1986 ( 邦訳 : 「文書処理システム アスキー ) 143